home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
T-TPUG Old Monthly Disks
/
(c)t7.d64
/
othello.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
6KB
|
176 lines
1 PRINT"[147][142][144] [206][183][205] [183][183][207][183] [170] [180] [170][183][183] [180] [180] [206][183][205]":POKE53280,12:POKE53281,12
2 PRINT" [180] [170] [180] [167][192][192][180] [167][192] [180] [180] [180] [170]
3 [153]" (null)AND(null) SGN THEN SGN THENANDAND (null)AND (null)AND (null)AND(null)
4 PRINT,"[157]COMMODORE 64 VERSION":PRINTTAB(18)"BY
5 [153],"STOP STEVEN DARNOLD
6 PRINT," P.O. BOX 201
7 [153]," ALEXANDRA, NEW ZEALAND
8 FORI=1TO39:E$=E$+" ":NEXT:FORJ=1TO39:E$=E$+"[157]":NEXT:N$="12345678"
9 D$="":FORI=1TO20:D$=D$+"":NEXT:DIMA(9,9),I4(7),J4(7):F2=3:B=-1:W=1:M$="[215][214][209]"
10 M$=" [144][209][152] [209]":FORK=0TO7:READI4(K),J4(K):NEXT
11 GOSUB251:GOSUB231:P=6:N$(B+1)="BLACK":N$(W+1)="WHITE
13 [153]"LOADSTOPWANT TO PLAY AGAINST THE COMPUTER? ";:[141]131
15 [139]X$[178]"N"[167][153]"NO":[137]37
17 [139]X$[179][177]"Y"[167][141]131:[137]15
19 [153]"YES":F2[178]3:[153]"STOPSHOULD I PLAY MY BEST? ";:[141]131
21 [139]X$[178]"N"[167][153]"NO":[137]27
23 [139]X$[179][177]"Y"[167][141]131:[137]21
25 [153]"YES":S2[178]2:S4[178]1:S5[178][171]1.5
27 [153]"STOPBLACK ALWAYS GOES FIRST."
28 [153]"DO YOU WANT BLACK OR WHITE? STOP";:[141]131
29 [139]X$[178]"B"[167][153]N$(0):N$(2)[178]"COMPUTER":[137]35
31 [139]X$[179][177]"W"[167][141]131:[137]29
33 [153]N$(2):N$(0)[178]"COMPUTER":F2[178]2
35 [141]329
37 [153]"LOAD";:[141]107:[139]F2[178]2[167][153]"OK, I AM THINKING.STOP"
39 T1[178]B:T2[178]W:[145]F2[141]151,181,151
40 [141]225:[139]Z[178]1[167]43
41 BC[178]BC[170]S1[170]1:WC[178]WC[171]S1:N1[178]N1[170]1:[141]107
43 [139]WC[178]0[176]N1[178]64[176]Z[179]0[167]53
45 T1[178]W:T2[178]B:[145] F2[141]151,151,181:[141]225:[139]Z[178]1[167]49
47 WC[178]WC[170]S1[170]1:BC[178]BC[171]S1:N1[178]N1[170]1:[141]107
49 [139]BC[178]0[176]N1[178]64[176]Z[179]0[167]53
51 [137]39
53 SN[178]SM
55 [153]D$;E$:[153]E$:[153]E$:[153]D$;E$"STOPBLACK HAS"BC" WHITE HAS"WC""
57 [139]BC[178]WC[167][153]"A TIE !!":[137]77
59 [139]BC[177]WC[167][153]"BLACK";:[137]63
61 [153]"WHITE";
63 [153]" WINS.":CC[178]BC[171]WC:[139]CC[179]0[167]CC[178][171]CC
65 CC[178](64[172]CC)[173]N1:[153]"STOPTHAT WAS A ";
67 [139]CC[179]11[167][153]"CLOSE GAME.":[137]77
69 [139]CC[179]25[167][153]"GOOD GAME.":[137]77
71 [139]CC[179]39[167][153]"BIG WIN.":[137]77
73 [139]CC[179]53[167][153]"WALKOVER.":[137]77
75 [153]"PERFECT SCORE."
77 [153]"WANT TO SEE REPLAY OF THE GAME? ";:[141]131:[139]X$[178]"N"[167][153]"STOPNO";:[128]
79 [153]"STOPYES";:[141]233:[141]237:[141]55
81 [153]D$""E$"DO YOU WANT TO START THE GAME ? ";
83 [141]131:[139]X$[178]"Y"[167][153]"YES";:[141]329:[153]"LOAD";:[137]11
85 [153]"NO";:[128]
87 F1[178]0:[129]I1[178][171]1[164]1:[129]J1[178][171]1[164]1:[139]A(I[170]I1,J[170]J1)[178]T2[167]91
89 [130]J1,I1:[142]
91 F1[178]1:[142]
93 S1[178]0:[129]K[178]0[164]7:I5[178]I4(K):J5[178]J4(K):I6[178]I[170]I5:J6[178]J[170]J5:S3[178]0:[139]A(I6,J6)[179][177]T2[167]105
95 S3[178]S3[170]1:I6[178]I6[170]I5:J6[178]J6[170]J5:[139]A(I6,J6)[178]T1[167]101
97 [139]A(I6,J6)[178]0 [167]105
99 [137]95
101 S1[178]S1[170]S3:[139]U[179][177]1[167]105
103 I6[178]I:J6[178]J:[129]K1[178]0[164]S3:A(I6,J6)[178]T1:I6[178]I6[170]I5:J6[178]J6[170]J5:[130]K1
105 [130]K:[142]
107 [153]"
108 X$=" [171][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][179]"
109 PRINT" A B C D E F G H"
111 PRINT" [176][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][174]
112 [129]I[178]1[164]8:[153][202](N$,I,1)" (null) ";
113 [129]J[178]1[164]8:[153][202](M$,(A(I,J)[170]2)[172]2,2)" (null) ";:[130]J:[153]:[139]I[179][177]8[167][153]X$
115 [130]I:[153]" /TANTANTAN>TANTANTAN>TANTANTAN>TANTANTAN>TANTANTAN>TANTANTAN>TANTANTAN>TANTANTANEXPSTOP":[142]
117 I[178][171]1:J[178]I:[129]K[178]1[164]2:[141]131:G[178][198](X$):[139]47[179]G[175]G[179]58[167]I[178]G[171]48:[137]123
119 [139]64[179]G[175]G[179]74[167]J[178]G[171]64:[137]123
121 [130]:[142]
123 [153]""X$"STOP ";:[130]:[142]
125 [153][200](D$,2[172](I[171]1)[170]4);[166]4[172](J[171]1)[170]4);:X$[178][202](M$,(T1[170]2)[172]2,2):[129]K[178]1[164]P
127 [153]"STOP CMD";:[129]L[178]1[164]200:[130]:[153]X$"CMD";:[129]L[178]1[164]200:[130]:[130]:[142]
129 [153]X$"CMD";:[129]L[178]1[164]200:[130]:[130]:[142] [179]
131 [129]L[178]1[164]10:[161]A$:[130]
133 L[178]0:[153]" CMDWAIT";
135 L[178]L[170]1:[161]X$:[139]X$[179][177]""[167][142]
137 [139]L[179]20[167]135
139 [153]" CMD";
141 L[178]L[170]1:[161]X$:[139]X$[179][177]""[167][142]
143 [139]L[179]40[167]141
145 [137]133
147 [153]D$""E$"BAD MOVESTOP INPUT ROW 0-8STOP AND COL A-HSTOP":[153]E$;
149 [141]251:[139]F1[177]1[167][141]107
151 [143] MOVE INPUT SUBROUTINE
153 [153]D$;E$"INPUT "N$(T1[170]1)"'S MOVE >>>>>>>> ";:[141]117
155 [139]I[179]0[176]J[179]0[176]I[177]8[176]J[177]8[167]147
157 [139]I[179][177]0[167]167
159 G2[178]S2:G4[178]S4:G5[178]S5:S2[178]0:S4[178]0:S5[178]0:[141]197:S2[178]G2:S4[178]G4:S5[178]G5:[139]B1[179]0[167]163
161 [153]D$""E$"NO FORFEIT ALLOWED. "N$(T1[170]1)"WAIT HAS A MOVE.":[137]177
163 [139]Z[178]1[167]Z[178][171]Z:[142]
165 Z[178]1:[142]
167 [139] A(I,J)[178]0[167]171
169 [153]D$""E$"SORRY...SQUARE OCCUPIED BY "N$(A(I,J)[170]1):[137]177
171 [141]87:[139]F1[178]1[167]175
173 [153]D$""E$"SORRY...NOT NEXT TO "N$(T2[170]1):[137]177
175 U[178][171]1:[141]93:[139]S1[177]0[167]179
176 [153]D$""E$"SORRY...DOES NOT CONTAIN "N$(T2[170]1)
177 [153]E$:[137]153
179 [137]193
181 [141]197:[139]B1[177]0[167]191
183 [139]S5[178]0[167]187
185 S5[178]0:[137]181
187 [153]D$""E$N$(T1[170]1)" FORFEITS MOVE":[139]Z[178]1[167]Z[178][171]Z:[142]
189 Z[178]1:[142]
191 I[178]I3:J[178]J3
193 [129]L[178]1[164]32:[153][199](20);:[130]
194 [153]D$""E$;N$(T1[170]1)" MOVES TO "[199](I[170]48)" "[199](J[170]64):[141]125:Z[178]0:U[178]1
195 [141]93:[153]D$"STOP"E$;N$(T1[170]1)" TAKES"S1"OF "N$(T2[170]1)"'S PIECES":[142]
197 B1[178][171]1:I3[178]0:J3[178]0:[129]I[178]1[164]8:[129]J[178]1[164]8:[139]A(I,J)[179][177]0[167]223
199 [141]87:[139]F1[178]0[167]223
201 U[178][171]1:[141]93:[139]S1[178]0[167]223
203 [139](I[178]1)[176](I[178]8)[167]S1[178]S1[170]S2
205 [139](J[178]1)[176](J[178]8)[167]S1[178]S1[170]S2
207 [139](I[178]2)[176](I[178]7)[167]S1[178]S1[170]S5
209 [139](J[178]2)[176](J[178]7)[167]S1[178]S1[170]S5
211 [139](I[178]3)[176](I[178]6)[167]S1[178]S1[170]S4
213 [139](J[178]3)[176](J[178]6)[167]S1[178]S1[170]S4
215 [139]S1[179]B1[167]223
217 [139]S1[177]B1[167]221
219 [139][187](1)[177]0.5[167]223
221 B1[178]S1:I3[178]I:J3[178]J
223 [130]J,I:[142]
225 L[178]((T1[170]1)[172]64)[175]128:[139]Z[179][177]0[167]L[178]L[176]64:[137]229
227 L[178]L[176]((((I[171]1)[172]8)[175]56)[176](J[171]1[175]7))
229 [151]SM,L:SM[178]SM[170]1:[142]
231 BC[178]2:WC[178]BC:N1[178]4
233 [129]I[178]0[164]9:[129]J[178]0[164]9:A(I,J)[178]0:[130]J,I:A(4,4)[178]W:A(5,5)[178]W:A(4,5)[178]B:A(5,4)[178]B
235 Z[178]0:F2[178]1:S2[178]0:S4[178]0:S5[178]0:SM[178]826:[142]
237 [153]"LOADSTOP REPLAY"[166]21)"REPLAY":P[178]3:[129]D[178]826[164]SN[171]1:[141]107:L[178][194](D)
239 I[178]1[170](L[175]56)[173]8:J[178]1[170](L[175]7):T1[178]B:T2[178]W:[139]L[175]128[167]T1[178]W:T2[178]B
241 [139](L[175]64)[178]0[167]245
243 [153]D$E$:[153]E$:[153]E$:[153]D$""N$(T1[170]1)"WAIT FORFEITS A MOVE":[129]L[178]1[164]2000:[130]:[137]247
245 [141]193
247 [130]
249 [137]107
251 F1[178]0:[153]"DO YOU WANT INSTRUCTIONS? ";:[141]131
253 [139]X$[178]"N"[167][153]"STOPNO";:[142]
255 [139]X$[179][177]"Y"[167][141]131:[137]253
257 [153]"STOPYES";:[129]F1[178]1[164]1000:[130]
259 [153]"LOADOTHELLOSTOP IS PLAYED ON AN 8 X 8 GRID WITH
261 PRINT"ROWS 1[144] TO 8[144] AND COLUMNS A[144] TO H[144].
263 [153]"THE OBJECT OF THE GAME IS TO CAPTURE AS"
265 [153]"MANY OF THE OPPONENT'S PIECES AS"
267 [153]"POSSIBLE. TO CAPTURE PIECES, PLACE YOUR
269 PRINT"PIECE SO THAT A HORIZONTAL, VERTICAL
271 [153]"OR DIAGONAL LINE OF YOUR OPPONENT'S
273 PRINT"PIECES IS CONTAINED BY YOUR'S.
277 [153]" TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN"
279 [153]" (null) STOP(null) (null) STOP(null) (null) STOP(null) (null) STOP(null) (null) (null)"
281 [153]" TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN"
282 [153]"PRESS SHIFTWAITONCMDCMDCMDCMDCMDTOTOTOTOTO TO CONTINUE.ONON":[146]653,1
283 [153]" ";
284 [153]"STOPWHITE CONTAINS BLACK AND CAPTURES FOUR
285 PRINT"OF BLACK'S PIECES."
287 PRINT"PRESS SHIFT[146][145][157][157][157][157][157][164][164][164][164][164] TO CONTINUE.[145]"
289 PRINT"[145][145][145][145][145][145]";
291 I=1:WAIT653,1,1
293 PRINT"[209][157]";:FORL=1TO30:IFPEEK(653)=1THENI=0
295 NEXT:PRINT" [157]";:FORL=1TO30:IFPEEK(653)=1THENI=0
297 NEXT:IFITHEN293
299 PRINT"[209] [221][160][209] [221] [209] [221] [209] [221] [209]"
300 WAIT653,1,1:WAIT653,1
301 PRINT"[147][144]MAKE YOUR MOVE BY ENTERING A NUMBER 1-8
303 [153]"STOPFOR THE ROW AND A LETTER A-HSTOP FOR THE COLUMN.
307 PRINT"YOU MUST CAPTURE AT LEAST ONE PIECE PER
311 [153]"TURN. IF THIS IS NOT POSSIBLE, YOU
313 PRINT"FORFEIT YOUR TURN (ENTER 0A[144] FOR YOUR
315 [153]"MOVE).
317 PRINT"PRESS SHIFT[146][145][157][157][157][157][157][164][164][164][164][164] TO CONTINUE.[145]"
321 WAIT653,1,1:WAIT653,1
323 PRINT"[147]";:RETURN
325 RETURN
327 DATA 0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1
329 FORL=1TO1000:NEXT:RETURN